package UndoRedo;
import java.util.ArrayList;
import Command.LDrawColor;
import Command.LDrawPart;
public class ColorChangeAction implements IAction {
private ArrayList<LDrawPart> parts;
private ArrayList<LDrawColor> originalColors;
private ArrayList<LDrawColor> newColors;
public ColorChangeAction() {
parts = new ArrayList<LDrawPart>();
originalColors = new ArrayList<LDrawColor>();
newColors = new ArrayList<LDrawColor>();
}
public void addColorChangePart(LDrawPart part, LDrawColor originalColor,
LDrawColor newColor) {
parts.add(part);
originalColors.add(originalColor);
newColors.add(newColor);
}
@Override
public void undoAction() {
for (int i = 0; i < parts.size(); i++)
parts.get(i).setLDrawColor(originalColors.get(i));
}
@Override
public void redoAction() {
for (int i = 0; i < parts.size(); i++)
parts.get(i).setLDrawColor(newColors.get(i));
}
}